package thread;

/**
 * 线程的优先级
 * 当一个线程调用start方法后,其纳入线程调度器的统一管理,此时该线程何时
 * 获取时间片完全由线程调度器管理,调度器会尽可能均匀分配时间片给每个线程
 * 但是线程无法主动索取.
 * 调整线程的优先级可以最大程度的改善获取时间片的次数.
 * 优先级越高的线程获取时间片的次数越多.
 *
 * 线程的优先级有10个等级,分别对应整数1-10,使用线程提供的方法设置:
 * void setPriority(int priority)
 *
 */
public class PriorityDemo {
    public static void main(String[] args) {
        Thread min = new Thread(){
            public void run(){
                for(int i=0;i<10000;i++){
                    System.out.println("min");
                }
            }
        };
        Thread norm = new Thread(){
            public void run(){
                for(int i=0;i<10000;i++){
                    System.out.println("nor");
                }
            }
        };
        Thread max = new Thread(){
            public void run(){
                for(int i=0;i<10000;i++){
                    System.out.println("max");
                }
            }
        };

        min.setPriority(Thread.MIN_PRIORITY);
        max.setPriority(Thread.MAX_PRIORITY);

        min.start();
        norm.start();
        max.start();
    }
}









